#ifndef _ALAPFORM_H_
#define _ALAPFORM_H_

#include <FBase.h>
#include <FUi.h>
#include  <FLocations.h>
//#include <FLocationProvider.h>

using namespace Osp::Locations::Services;
using namespace Osp::Base::Collection;

class AlapForm :
	public Osp::Ui::Controls::Form,
	public Osp::Ui::IActionEventListener,
	public Osp::Locations::ILocationListener
{

// Construction
public:
	AlapForm(void);
	virtual ~AlapForm(void);
	bool Initialize(void);

// Implementation
protected:
	static const int ID_BUTTON_OK = 101;
	Osp::Ui::Controls::Button *__pButtonOk;
	Osp::Locations::LocationProvider *locProvider;
	Osp::Ui::Controls::Label *__pLongitudeLabel;
	Osp::Ui::Controls::Label *__pAltitudeLabel;

public:
	virtual result OnInitializing(void);
	virtual result OnTerminating(void);
	virtual void OnActionPerformed(const Osp::Ui::Control& source, int actionId);

	 /**
	 * Called when a location event is received
	 */
	 void OnLocationUpdated(Osp::Locations::Location& location);

	 /**
	 * Called when the status of the provider has changed
	 */
	 void OnProviderStateChanged(Osp::Locations::LocProviderState newState);
};

#endif	//_ALAPFORM_H_
